package middleware

import (
	"github.com/gin-gonic/gin"
)

// JWTAuth 中间件验证 JWT 令牌
func JWTAuth() gin.HandlerFunc {
	return func(c *gin.Context) {
		// // 获取 Authorization 头
		// authHeader := c.GetHeader("Authorization")
		// if authHeader == "" {
		// 	c.JSON(http.StatusUnauthorized, gin.H{
		// 		"status":  http.StatusUnauthorized,
		// 		"code":    -1,
		// 		"message": "Authorization header is required",
		// 	})
		// 	c.Abort()
		// 	return
		// }

		// // Bearer <token> 格式
		// tokenString := strings.TrimPrefix(authHeader, "Bearer ")
		// if tokenString == authHeader {
		// 	c.JSON(http.StatusUnauthorized, gin.H{
		// 		"status":  http.StatusUnauthorized,
		// 		"code":    -1,
		// 		"message": "Invalid Authorization header format",
		// 	})
		// 	c.Abort()
		// 	return
		// }

		// // 验证 token
		// claims, err := util.ValidateToken(tokenString)
		// if err != nil {
		// 	c.JSON(http.StatusUnauthorized, gin.H{
		// 		"status":  http.StatusUnauthorized,
		// 		"code":    -1,
		// 		"message": err.Error(),
		// 	})
		// 	c.Abort()
		// 	return
		// }

		// // 将 token 中的 claims 保存到上下文中
		// c.Set("username", claims.Username)

		// 继续处理请求
		c.Next()
	}
}
